今天就直接來建立一個Eloquent 模型
先吧
在每個資料庫的表中都有一個對應的「模型」可以用來跟資料表互動,取代我們可以更簡潔的下SQL
語法。Laravel
的 Eloquent ORM
不只是可以透過模型查詢資料表內的資料,
居然還可以直接新增記錄到資料表中,
這個我覺得很厲害哈哈哈
在開始之前我們要先確認有沒有設定資料庫連結在 config/database.php
檔案內,要先設定好了他才找得到資料庫可以新增~
來新增model
吧哈哈
一樣又是再度打開cmd
下指令就可以新增了
我的天 這實在是太神奇了
想想用ci
我還要一個個打,用pdo
也是得下sql
語法
來看看cmd
幫我新增的model
長怎樣
說不定....
一樣要自己新增
根本是自己想太多想太美好哈哈哈哈
來下Artisan
指令吧
php artisan make:model {資料表名稱}
php artisan make:model Role
但是如果是下上面這樣的語法的話
我們就要先自己把對應的資料表建立好
那如果要產生資料表遷移的話 語法要怎麼下呢
這個時候就要下
php artisan make:model {資料表名稱} --migration
php artisan make:model Role --migration
或者是
php artisan make:model Role --m
如上,不管是「--migration
」或者是「--m
」都可以,
就會直接幫我們對應好該對應的資料表,
這樣一來就可以方便後續修改資料表
詳細我們之後再來嘗試一次看看就知道多厲害了
好了,以為上面這樣就準備好了嗎
我以為這樣就好了,但是事情不是這樣的
因為我們還沒有告訴 Eloquent Flight
模型應該用哪一個資料表
我們要明確地指定其他名稱,
不然類別的小寫、底線、複數形式....等,
都會被拿來當作資料表的表單名稱
因為他太聰明了
所以,
我們需要在模型上定義一個 table
屬性,
用來指定自訂的資料表,
有時候可能名稱不一樣就要指定給他正確的資料表
我們新增好的model
會像這樣
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Role extends Model
{
/**
*
* @var string
*/
}
我們要在這告訴他要讀哪個資料表,
像我剛剛上面新增的那個Role
的model
,
我通常都會用對應的名稱,這樣才不會亂掉
所以相對的資料表名稱就是role
,
我就下這樣的語法,告訴他指定資料表是哪個
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Role extends Model
{
/**
*
* @var string
*/
protected $table = 'role';
}
我今天電腦又在崩潰了,我比他還崩潰
讓我好好完成鐵人賽怎麼了嗎⋯⋯
很困擾欸 母湯這樣對我